package Collection;/*
 *
 * @author 陈粒
 * @version 创建时间：2021/7/20 19:42
 */

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/**
 *
 * 采用hashmap数组
 * 统计字符串中字符出现的次数
 * 例如输入：aaaabcdd
 * 输出：{a=4, b=1, c=1, d=2}
 */
public class HashMap_Statistics {
    public static void main(String[] args) {
        System.out.println("请输入要打印的字符串:");
        String input = new Scanner(System.in).nextLine();
        Map<Character, Integer> hashmap = new HashMap<>();
        for (int i = 0; i < input.length(); i++) {
            char c = input.charAt(i);
            Integer values = hashmap.get(c);
            //每次循环获得一个字符，如果调用hashmap的get(key)方法，得到的value是null，就表示hashmap集合中还没存入该字符，以及字符对应的value值
            //注明：c是hashmap集合中的key，values是hashmap集合中的value
            if (values == null) {
                hashmap.put(c, 1);
            }else{
                hashmap.put(c,values+1);
            }
        }
        System.out.println("统计字符出现次数的结果如下：");
        System.out.println(hashmap);
    }
}
